#if !defined(IDIRECT3D10_SUPPORT_H)
#define IDIRECT3D10_SUPPORT_H

class IDirect3D10Support
{
public:
	virtual ~IDirect3D10Support() { }

	virtual bool IsDeviceAcceptable(UINT Adapter, UINT Output, D3D10_DRIVER_TYPE DeviceType, DXGI_FORMAT BackBufferFormat, bool bWindowed) = 0;
	virtual HRESULT OnCreateDevice(ID3D10Device *device, DXGI_SURFACE_DESC const *backBufferSurfaceDesc) = 0;
	virtual HRESULT OnResizedSwapChain(ID3D10Device* pd3dDevice, IDXGISwapChain* pSwapChain, DXGI_SURFACE_DESC const *backBufferSurfaceDesc) = 0;
	virtual void OnFrameRender(ID3D10Device* pd3dDevice, double fTime, float fElapsedTime) = 0;
	virtual void OnReleasingSwapChain() = 0;
	virtual void OnDestroyDevice() = 0;
};

#endif
